package com.dkm.nettysocketdemo.myWebsite.service;

import com.dkm.nettysocketdemo.myWebsite.domain.HelmetClient;

import java.io.IOException;
import java.util.List;

/**
 * @ClassName : HelmetClientService  //类名
 * @Description : 用户服务接口  //描述
 * @Author : zmh  //作者
 * @Date: 2021-03-23 14:30  //时间
 */
public interface HelmetClientService {

    /**
     * id查询
     * @param userId 用户id
     * @return 用户对象
     */
    HelmetClient findById(String userId);

    /**
     * 修改
     * @param user 需要修改的用户对象
     * @return 回调函数
     */
    int update(HelmetClient user);
    /**
     * 修改
     * @param user 需要修改的用户对象
     * @return 回调函数
     */
    int updateMod(HelmetClient user,List<String> idss);
    /**
     * 新增
     * @param    helmetClient
     * @return 回调函数
     */
    int insert(HelmetClient helmetClient,List<String> idss);

    /**
     * 登录判断
     * @param userAccountNumber 用户名称
     * @param userPwd 用户密码
     * @return 用户对象
     */
    HelmetClient isLogin(String userAccountNumber, String userPwd);

    /**
     * 验证邮箱
     * @param userId 用户id
     * @return 回调函数
     */
    int mailVerify(String userId);

    /**
     * 邮箱查询
     * @param mail 邮箱
     * @return 用户对象
     */
    HelmetClient getMail(String mail);

    /**
     * 上传图片
     * @param user
     * @return
     */
    String updateFile(HelmetClient user) throws IOException;

    /**
     *删除单条客户资料
     * @param pkHelmetClientId
     * @return
     */
    int deleteById(String  pkHelmetClientId);

    /**
     * 修改安全帽客户资料
     * @param helmetClient
     * @return
     */
    int updateHelmetClient(HelmetClient helmetClient);

    /**
     * 查询所有安全帽客户列表
     * @param helmetClient
     * @param startTime
     * @param endTime
     * @param page
     * @param limit
     * @return
     */
    List<HelmetClient> selectAllHelmetClient(HelmetClient helmetClient,String startTime,String endTime,Integer page,Integer limit);

    /**
     * 查询客户总数
     * @param helmetClient
     * @param startTime
     * @param endTime
     * @return
     */
    Integer rowCount(HelmetClient helmetClient,String startTime,String endTime);

    /**
     * 批量删除所有
     * @param list
     * @return
     */
    int deleteAll(List<String> list,String name);
    /**
     * 检查是否重名
     * @param clientAccountNumber 用户账号
     * @param pkClientId 客户id
     * @return 回调函数
     */
    Integer selectCount(String clientAccountNumber,String pkClientId);
}
